package com.blog.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.blog.common.core.web.page.TableDataInfo;
import com.blog.common.domain.dto.TagDto;
import com.blog.common.domain.entity.Tag;
import com.blog.common.domain.dto.ConditionDto;
import com.blog.common.domain.vo.TagVo;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 标签 服务类
 * </p>
 *
 * @author Valerie
 * @since 2023-03-11
 */
public interface TagService extends IService<Tag> {

    /**
     * 搜索标签
     * @param condition 条件
     * @return List<TagVo> 标签
     */
    List<TagVo> listTagsBySearch(ConditionDto condition);

    /**
     * 查询标签
     *
     * @param condition 条件
     * @return {@link TableDataInfo< TagVo>}
     */
    TableDataInfo<TagVo> listTags(ConditionDto condition);

    /**
     * 新增标签
     *
     * @param tags 标签名
     * @return void
     */
    void saveTag(String tags);

    /**
     * 根据id获取标签
     *
     * @param tagId
     * @return {@link String}
     */
    TagVo getTagById(Serializable tagId);

    /**
     * 修改标签
     *
     * @param tagDto 标签
     * @return void
     */
    void updateTag(TagDto tagDto);
}
